package com.codeshellme.bookmanager.service;

import com.codeshellme.bookmanager.dto.BookStock;
import com.github.pagehelper.PageInfo;

import java.util.Map;

public interface BookStockService {

    PageInfo<Map<String, Object>> queryAllBookStocks(String name, Integer type_id, Integer num_start, Integer num_end,
                                                     Integer author_id, Byte status, String date_start, String date_end,
                                                     String q,
                                                     Integer pageNum, Integer pageSize);

    // 验证书名是否可用
    Boolean verifyBookStockId(String bookName);

    int addBookStock(BookStock stock);

    /**
     * 更新库存数量
     * @param id 库存 id
     * @param num 更新的数量
     * @param op 操作：ADD/SUB
     * @return 1 成功
     *        -1 失败
     */
    int updateBookStockNum(Integer id, Integer num, String op);

    /**
     * 删除库存
     * @param id 库存 id
     * @return 1 成功
     *         0 还有库存不能删除
     */
    int deleteBookStockById(Integer id);
}
